/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Klient.Model;

import Klient.Model.MissilePower;

/**
 *
 * @author Vašek
 */
public class MissileType{

    int radius;         // polomer vybuchu v metrech
    MissilePower power; // ucinost vybuchu
    String name;        // název zbraně
    int numberOf;       // pocet vlastnenych zbrani

    public int getNumberOf() {
        return numberOf;
    }

    public void setNumberOf(int numberOf) {
        this.numberOf = numberOf;
    }

    /**
     * Vytvoří zbraň s jménem a parametry pro výbuch. Zadávají se všechny
     * parametry, účinnost v objektu MissilePower.
     *
     * @param name Název zbraně
     * @param radius Poloměr výbuchu
     * @param power Objekt MissilePower
     */
    public MissileType(String name, int radius, MissilePower power) {
        this.radius = radius;
        this.power = power;
    }

    /**
     * Vytvoří zbraň s jménem a parametry pro výbuch. Ruční zadávání se všech
     * možných parametrů
     *
     * @param name Název zbraně
     * @param radius Poloměr výbuchu
     * @param damage Ničivost v epicentru
     * @param decrease Úbytek ničivosti po metru
     */
    public MissileType(String name, int radius, double damage, double decrease) {
        this.radius = radius;
        this.power = new MissilePower(damage, decrease);
    }

    /**
     * Vytvoří zbraň s jménem a parametry pro výbuch. Ze zadaní poloměru a
     * ničivosti si vypočte úbytek ničivosti na metr tak, aby na konci poloměru
     * výbuchu byla ničivost nulová.
     *
     * @param name Název zbraně
     * @param radius Poloměr výbuchu
     * @param damage Ničivost v epicentru
     */
    public MissileType(String name, int radius, double damage) {
        this.radius = radius;
        this.power = new MissilePower(damage, (double) radius / damage);
    }
}
